<?php

include ("util/Connection.php");

class Pagina {

    function inserir($con) {
        $stmt = $con->prepare("INSERT INTO pagina (referencia, conteudo) VALUES (?, ?)");
        $stmt->bind_param('ss', $referencia, $conteudo);

        $referencia = $_POST['referencia'];
        $conteudo = $_POST['conteudo'];

        $stmt->execute();
        $count = $stmt->affected_rows;

        if ($count == 0) {
            header("HTTP/1.0 500 Falha ao inserir o registro. Contate o administrador.");
        }
    }

    function atualizar() {
        $con = new mysqli();
        $con = Connection::getConnection();

        $conteudo = $_POST['conteudo'];
        if (empty($conteudo)) {
            header("HTTP/1.0 400 O conteúdo não pode estar em branco.");
            return;
        }

        $referencia = $_POST['referencia'];
        if (empty($referencia)) {
            header("HTTP/1.0 400 Referência inválida.");
            return;
        }

        $stmt = $con->prepare("SELECT true FROM pagina WHERE referencia = ?");
        $stmt->bind_param('s', $referencia);
        $stmt->execute();
        $stmt->store_result();
        $count = $stmt->num_rows;

        if ($count > 0) {
            $stmt = $con->prepare("UPDATE pagina SET conteudo = ? WHERE referencia = ?");
            $stmt->bind_param('ss', $conteudo, $referencia);
            $stmt->execute();
        } else {
            $this->inserir($con);
        }

        $con->close();
    }

    function selecionar($referencia) {
        $con = new mysqli();
        $con = Connection::getConnection();

        $stmt = $con->prepare("SELECT conteudo FROM pagina WHERE referencia = ?");
        $stmt->bind_param('s', $referencia);
        $stmt->execute();
        $stmt->store_result();
        $count = $stmt->num_rows;

        if (isset($_SESSION['logado']) && $_SESSION['logado'] == 1) {
            echo '<span title="Clique para editar" class="texto-dinamico-edicao" id="' . $referencia . '" onclick="showConteudo(this)">';
        } else {
            echo '<span class="texto-dinamico">';
        }

        if ($count > 0) {
            $stmt->bind_result($conteudo);
            while ($stmt->fetch()) {
                echo $this->unescapeHtml($conteudo);
            }
        } else {
            echo 'Clique aqui para adicionar um conteúdo.';
        }

        echo '</span>';
        $con->close();
    }

    function unescapeHtml($string) {
        return trim(nl2br($string));
    }

    function escapeHtml($string) {
        $string = ereg_replace("/\n/gi", "<br>", $string);
        $string = ereg_replace("/&lt;br&gt;/gi", "<br>", $string);
        $string = ereg_replace("/\s/gi", "&nbsp", $string);
        return $string;
    }

}

?>
